草庐IT

PhpUnit 模拟 : function undefined

全部标签

php - 为什么 PHPUnit 隐藏我的 xdebug 回溯?

我安装了PHPUnit和xdebug,在我的CLI的php.ini文件中我有:display_errors=Onxdebug.default_enable=1我已经确认在使用交互式控制台创建错误时打印了xdebug回溯,但是当运行phpunit时发生错误时,没有回溯?回溯发生了什么?phpunit对我隐瞒了吗?是否缺少某些设置?谢谢! 最佳答案 Whatishappeningtothebacktrace?Isphpunithidingitfromme?是的,PHPUnit禁用了xdebug,至少是这些痕迹(通过调用xdebug_di

PHPUnit、Selenium 基本测试失败并出现 fatal error

我正在运行PHP5.3.6和来自Github的最新版本的PHPUnit。当我从文档中复制示例17.1时,它会在assertTitle失败时遇到fatalerror。我收到此错误消息:Fatalerror:CalltoamemberfunctiontoString()onanon-objectin/phpunit/phpunit-selenium/PHPUnit/Extensions/SeleniumTestCase.phponline1041当我将断言更改为通过时,PHPUnit运行正常。我找到了这条线,这是片段:protectedfunctiononNotSuccessfulTest

php - 由于 phpunit 恶意文件 eval-stdin.php,端口 80 在 cpanel 上被阻止

我已将googleplus登录添加到我的网站(托管在共享服务器上)。google登录通过composer.json组合依赖库时,phpunit库是作为一部分下载的。它包含一个文件phpunit\phpunit\src\Util\PHP\eval-stdin.php。由于这个文件,我的域的80端口被阻止,因为他们说这是一个恶意软件文件。存储库链接是https://github.com/sebastianbergmann/phpunit以下是eval-stdin.php文件中的代码eval('?>'.file_get_contents('php://input'));有没有替代此代码的方法

php - 如何使 PHPUnit 在有风险的测试中失败

如果一个或多个测试被认为有风险,我希望PHPUnit失败。实际上:PHPUnit5.3.4bySebastianBergmannandcontributors...RRR..7/7(100%)Time:2.83seconds,Memory:26.00MbOK,butincomplete,skipped,orriskytests!Tests:7,Assertions:137,Risky:3.它说“OK,但不完整”,所以我的测试没有失败(并且可以在连续交付的情况下交付)。有什么方法可以使状态为“失败”?我希望我的测试全局状态在风险测试中被视为失败,不知道这是否可能。

php - 依赖于 phpunit 似乎没有工作

也许只是我的问题,但@depends似乎没有像我期望的那样工作。我的代码:当我执行phpunitMyTest.php时,我希望看到TESTFUNC1called但我看到的是TESTFUNC2called。因为它似乎只是按照它们在脚本中出现的顺序运行测试,而不管@depends属性,这确实引出了一个问题:@depends是做什么的真的吗?我正在运行PHPUnit5.7.20。 最佳答案 您需要使用/**而不是/*来启动文档block。 关于php-依赖于phpunit似乎没有工作,我们在S

PHPUnit - 调用未定义的函数 curl_init() 错误

我正在使用PHPUnit尝试对一些PHP文件进行单元测试,这些文件是我正在开发的Web应用程序的一部分。我已经设置了一个WAMP服务器,并将我的php.ini文件设置为安装了curl扩展。我已通过检查phpinfo()验证它已安装,并且curl在页面上确实有一个配置部分,表明它已安装。当我从索引页面开始运行我的整个Web应用程序时,我尝试测试的这个php页面毫无问题地找到了curl_init()函数。但是,当我对文件运行单元测试时,它会给我以下错误:PHPFatalerror:Calltoundefinedfunctioncurl_init()in...正如我所说,调用curl_ini

PHPUnit:如何模拟对同一方法的多次调用

我希望在多次调用同一个方法时获得不同的返回值。我尝试了很多东西,但没有得到确切的答案。$mock=$this->getMockBuilder('Test')->disableOriginalConstructor()->setMethods(array('testMethod'))->getMock();$mock->expects($this->once())->method('testMethod')->will($this->returnValue(true));$mock->expects($this->second())->method('testMethod')->will

php - 在 PHPUnit 中自定义设置

我希望在setUp函数中使用具有不同参数的一个对象运行一系列测试。我该怎么做?我尝试使用@dataProvider,但这不适用于我很快发现的setUp..这是我想做的(使用@dataProvider):/**@dataProviderprovider*/functionsetUp($namespace,$args){$this->tag=newTag($namespace,$args);}functionprovider(){returnarray(array('hello',array()),array('world',array()));}functiontestOne(){}fu

php - 我应该如何开始使用 PHPUnit 作为我已经制作的一堆函数和类的测试框架?

我已经阅读了文档。基本上,我在遵循BankAccount示例的同时尝试了测试。但是我得到错误:Warning:require_once(PHP/CodeCoverage/Filter.php)[function.require-once]:failedtoopenstream:Nosuchfileordirectoryin[...]/unitTest/phpunit.phponline38此外,PHP脚本似乎以#!/usr/bin/envphp开头,这表明它们应该从控制台运行。我宁愿从浏览器运行这些...假设我有一个返回字符串的函数f1()。应该如何进行测试?我错过了什么吗?

php - NetBeans + 多个 php 版本 + 没有 PEAR 的 phpUnit

我的问题有点复杂。我在IIS上有多个php版本。每个php项目都有自己的php版本和域名,例如:www.webshop.loc...我正在通过NetBeans开发项目,我想使用TDD作为开发过程。我的问题是:如何在不安装PEAR或打开任何DOS风格的窗口的情况下安装phpUnit,以及如何设置phpUnit以在不同的项目上使用不同的php版本?(嗯99%那是不可能的。:S) 最佳答案 我可以回答安装部分:安装不带PEAR的PHPUnit并在NetBeans中使用它实际上非常容易,因为PHPUnit已作为phar存档提供。。下载pha